# 自定义过滤器 用于点击排行的新闻页面展示

from flask import session,current_app,g

from info.models import User


def do_index_class(index):
    """自定义过滤器，过滤点击排序html的class"""
    # 根据遍历 的时候 附上响应的属性
    if index==0:
        return "first"
    elif index ==1:
        return "second"
    elif index ==2:
        return "third"
    else:
        return ""

# 定义装饰器  验证用户是否登录
def login_required(f):
    def wrapper(*args,**kwargs):
        # 尝试获取用户的登录信息
        user_id=session.get("user_id")
        #通过id获取用户信息
        user = None
        if user_id:
            try:
                user = User.query.get(user_id)
            except Exception as e:
                current_app.logger.error(e)
        # 使用g对象来保存用户的信息
        g.user=user
        return f(*args,**kwargs)
        # 这样写是因为 加上装饰器以后 加装饰器的函数都变成f了 返回值wrapper才是本来的函数名
    wrapper.__name__=f.__name__
    return wrapper